So far, and in general, means for electronic exchange of documents meant for restoration, either on paper after printing or by on-screen display, have been developed with a view to enabling their reproduction on most types of available equipment by dynamically adapting the presentation of the documents to the characteristics of the equipment used; the presentation of the documents is therefore dependent on the equipment used.
European Patent Application EP-A 0 339 461 describes one method for achieving this objective, in response to what was once a major need, when especially few types of restoring equipment were available. By now this need has declined in importance and is tending to disappear with the widespread use of modern restoring equipment, and so less attention is paid to it. Moreover, given this widespread use, there is a disadvantage in that choosing one such objective precludes meeting another need, one whose principal objective is to allow document presentation independently of the restoring equipment. This requires that a standard of exchange be worked out, and using such a standard enables a response to this need, by advantageously favoring communications between individuals. Users of such a standard, when exchanging a document, will in fact analyze strictly the same document; the document received is the exact, faithful reproduction of the original document, regardless of the hardware and hence of the restoring equipment available. They can then have an effective dialog and during a telephone conversion, for example, can unambiguously refer to the nth word of line i of page j, this word being identical for all the users. However, to authorize such an exchange, the restoration equipment used must enable the reproduction of any arbitrary image, possibly with a different definition. This expectation can now be met, because of the widespread use of PCs with graphics capabilities and laser printers.
Telecopying or faxing is another current means of meeting this need and promoting communications between individuals by permitting the exchange of documents, which are converted into images that are described point by point. It has various other disadvantages, however. First, the volume exchanged is large, but the performance and quality of restoration are mediocre; and finally, the documents received cannot be processed.
An adequate standard of exchange makes it possible to overcome these disadvantages. Hence the international standard ODA (for Office Document Architecture) defines a representation of documents that offers different choices of forms of exchange between document senders and receivers. In this way, if it is not desirable to leave the option of processing them to the receiver (such as a printing service), it is possible to exchange the documents in purely formatted form. The documents can also be exchanged in a formatted form--which is processable if processing of them is desired. In these two cases, faithful restoration is guaranteed. In addition, the ODA standard authorizes the exchange of documents in a purely processable form, and in this third hypothesis, the receiver must format the document received, in order to be able to restore it. The result of the formatting depends on the receiver used, because the formatting process cannot be integrally standardized, among other reasons because the algorithms for word hyphenation depend on languages and habits, or because multiple algorithms for justification exist, and so forth. In this third case, however, uniformity of presentation of the documents is not guaranteed.
More particularly, and for better understanding of the concept of the invention, the ODA standard and definitions relating to it will now be discussed. In terms of its objectives, the ODA standard is defined in ISO 8613, published by the International Standards Organization (ISO); its main objective is to propose a model that facilitates the exchange of documents, by enabling, first, presentation of the document that is identical to the original presentation, and/or, in addition, easy processing for editing and reformatting of the document.
With this objective, a document architecture is defined, based on a set of rules specifying its structural model and its descriptive representation.
The structural model furnishes two different but complementary views of the contents of a specific document. A first view, called the logical view, associates the contents with structural elements, such as chapters, appendices, paragraphs, cross references, titles, figures, and so forth. A second view, relating to the layout, associates the contents with structural elements that relate to the medium of presentation, such as pages and zones defined within pages. These structural elements of a specific document are called "objects": logical objects or layout objects.
Thus the specific logical structure associates the contents of a document with a hierarchy of logical objects and authorizes the representation of a document in a processable form, while the specific layout structure associates the contents of a document with a hierarchy of layout objects and authorizes the representation of a document in a formatted form.
In addition, the structural model of a document enables distributing its contents among structural elements, hereinafter called content portions. The information in each content portion belongs to a particular type of contents, and the structure of that information is defined by a content architecture, consisting on the one hand in the definition of a set of content elements, control functions and attributes, and on the other in rules for application of the control functions and attributes to the content elements.
Moreover, the generic structure of a document assures the representation of the characteristics common to and related to a certain number of objects in a document. It also assures the representation of characteristics common to a group of documents.
In many documents, it is possible to encounter sets of objects that have common characteristics, such as logical objects representing portions that include a sequence of subordinate objects (of lower rank) relating to paragraphs and which have the same characteristics, or pages that would have the same headings and same endings, etc. A structural element of a document that has such a group of common characteristics is called an object class.
The generic logical structure is composed of all the classes of logical objects and the associated generic content portions of a document, while the generic layout structure is composed of all the classes of layout objects and the associated generic content portions of a document.
With respect to the descriptive representation of a document, this makes it possible to introduce the descriptive elements of a document architecture. A document to be exchanged will thus be represented as a collection of constituents (such as a document profile, the presentation style, the layout style, etc.), each of which is characterized by a set of attributes, and each attribute having a name and a value that designates either a characteristic of a structural element or a relationship with other constituents.
Based on this architecture using the aforementioned ODA standard, the present invention proposes a layout method for structured documents that does not have the various disadvantages of the known formatting tools and that very significantly favors communication between individuals.
Moreover, in a known manner that is intrinsic to the ODA standard described in ISO 8613, the layout method of the type described at the outset first reads the generic logical structure, the specific logical structure and the generic layout structure, in order to create the specific layout structure in the course of this reading.
ISO 8613 also proposes using a layout method for this purpose employed by the formatting module, including on the one hand a document layout process, creating the specific layout structure in accordance with the generic layout structure and the information derived from the specific logical structure, the generic logical structure, and when applicable the layout styles, and on the other hand, associated with the document layout method, a content layout process, using the information contained in the presentation styles and tasked with laying out the various content portions of the document in the available zones determined at the time the document layout process is applied.
Accordingly the various bits of information contained in the stream of data relating to the document to be processed and/or formatted is used to authorize the creation of the specific layout structure and thus, at the time of a document exchange, to permit exact and faithful reproduction (by printing or display) of the original document.
At the time the document layout process is applied, layout objects are created, and the zones available within these layout objects thus created are determined for formatting the contents of the document; this process then handles the attribution of these contents of these available zones determined for that purpose. Moreover, the content layout process uses the information contained in the presentation attributes; this information applies to the content portions to be put into layout in the predetermined available zones. These presentation attributes may with priority be obtained from the presentation styles that refer to the generic logical structure and the specific logical structure, and hence from the generic layout structure. The priority reserved to the presentation styles obtained from the generic and specific logical structures is explicitly indicated by the layout method in the specific layout structure created.
In summary, in a first period of time, the specific logical structure is read until either a layout directive designating a layout object, or a basic (noncomposite) logical object with contents to be formatted, is found. The layout structure is then analyzed in such a way as to find the layout object requested.
However, a problem arises in terms of management of the generic and specific layout structures by the formatting module. One solution is to analyze the generic layout structure, each time the formatting module requires a layout object, in order to learn whether this layout object can be created (in agreement with the contents of the subordinate objects generator attribute), and in what location. Next, the formatting module accesses the specific layout structure to create the layout object requested and the intermediate layout objects requested before that object. Such a solution is tedious and necessarily requires multiple checks and access to the object.